import java.security.KeyStore.Entry;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
import java.util.TreeMap;

/**
 * 
 * 连续字母长度
 * 
 * 题目描述

给定一个字符串，只包含大写字母，求在包含同一字母的子串中，长度第 k 长的子串的长度，相同字母只取最长的那个子串。
输入描述
第一行有一个子串(1<长度<=100)，只包含大写字母。

第二行为 k的值

输出描述
输出连续出现次数第k多的字母的次数。

用例
输入	
AAAAHHHBBCDHHHH
3
输出	2
说明	
同一字母连续出现的最多的是A和H，四次；
第二多的是H，3次，但是H已经存在4个连续的，故不考虑；
下个最长子串是BB，所以最终答案应该输出2。
输入	
AABAAA
2
输出	1
说明	
同一字母连续出现的最多的是A，三次；
第二多的还是A，两次，但A已经存在最大连续次数三次，故不考虑；
下个最长子串是B，所以输出1。
输入	ABC
4
输出	-1
说明	只含有3个包含同一字母的子串，小于k，输出-1
输入	ABC
2
输出	1
 * 
 */

public class 连续字母长度 {

    public static void main(String[] args) {
        
        try{


            Scanner scanner = new Scanner(System.in);
            //接收输入
            String letters = scanner.next(); //输入的字符串序列
            int K = scanner.nextInt(); //输入的预计第 K长的字符串

            if(K < 0){

                System.out.println("-1");
            }  else if(K > letters.length()){

                System.out.println("-1");
            }  else {

                HashMap<String, Integer> letterMap = new HashMap<>();
                char temp = letters.charAt(0);
                int len = 0;

                for(char c: letters.toCharArray()){
                    if(c == temp){

                        len ++;
                    } else {

                        if(!letterMap.containsKey(temp) || letterMap.get(temp) < len){

                            //不存在 key 或者 key的长度小于当前，则用长的覆盖

                            letterMap.put(temp+"", len);
                        }

                        len = 1;
                        temp = c;
                    }

                }

                // for(java.util.Map.Entry<String, Integer> entry : letterMap.entrySet()){

                //     System.out.println("key-"+entry.getKey()+"--value="+entry.getValue());
                // }

                int[] lengths = letterMap.values().stream().sorted((a, b) -> b - a).mapToInt(Integer::intValue).toArray();

                if(K > lengths.length){

                    System.out.println("-1");
                } else{

                    System.out.println(lengths[K - 1]);
                }
            }
            


        }catch(Exception e){
            e.printStackTrace();
            System.out.println("程序异常"+(null == e ? "" : e.getMessage()));
        }

    }
}
